home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Gold Collection
/
Software Vault - The Gold Collection (American Databankers) (1993).ISO
/
cdr47
/
wasm223.zip
/
WARP.DOC
< prev
next >
Wrap
Text File
|
1993-05-04
|
10KB
|
235 lines
Warp Driver
A Fast Console Device
by
Eric Tauck
1304 Deerpass Road
Marengo, IL 60152
U.S.A.
Compuserve: 72457,1557
Internet: 72457.1557@compuserve.com
Warp is a device driver for speeding up standard output. Addi-
tional features of Warp include auto-pause, a shortened BIOS
beep, and partial ANSI support. Warp requires a PC/XT/AT compat-
ible and DOS 2.0 or higher.
Warp may be used and distributed freely. The most recent version
of Warp is available on 5.25" or 3.5" disk by sending $10 to the
address above. The WASM compatible source code is available for
$50. The source code is for personal use and may not be distrib-
uted.
The file WARP.SYS is the standard Warp device driver. The file
WARPF.SYS is a faster version of the driver. If WARP.SYS doesn't
seem to speed up your display, try using WARPF.SYS. A side
effect of WARPF.SYS is that the cursor may not be positioned
correctly until the system expects you to type something. The
program WARP.COM is a utility to reconfigure WARP.SYS or
WARPF.SYS after they have been installed.
Warp is installed by placing the following line in your
CONFIG.SYS file:
DEVICE=WARP.SYS [switches]
or
DEVICE=WARPF.SYS [switches]
The possible switches are:
/E Enable auto-pause. This is the default.
/D Disable auto-pause.
/C:x Set the output color to x. This value is an attribute
byte in the range 0 to 255. You can also set the color
with an ANSI sequence described later in this document.
The default is 7 (white on black).
/P Set the auto-pause prompt to the output color. This is
the default. You can set the prompt color to something
other than the output color with the switch below.
/P:x Set the auto-pause prompt color to x. This value is an
attribute byte in the range 0 to 255.
The color values for the /C and /P switches are:
1 blue foreground
2 green foreground
3 cyan foreground
4 red foreground
5 magenta foreground
6 brown foreground
7 white foreground
16 blue background
32 green background
48 cyan background
64 red background
80 magenta background
96 brown background
112 white background
Add a foreground and background color value together to calculate
an attribute byte. If a foreground or background value are
omitted, the foreground or background color will be black. Add 8
to the value to make the foreground color brighter. Add 128 to
the value to make the foreground blink.
If you want to change any of the switch setting after you have
installed Warp, use the utility WARP.COM. WARP.COM accepts the
same switches as WARP.SYS and WARPF.SYS, and will pass the
switches to the resident driver.
The Warp auto-pause feature works like the MORE utility included
with DOS. After an entire screen of output, Warp displays the
message "Press any key to continue ..." and waits for a key to be
pressed. The auto-pause feature is only enabled when scroll-lock
is active. The auto-pause feature can also be disabled regard-
less of the scroll-lock state with the /D switch. Make sure you
turn off scroll-lock (or disable the auto-pause feature) before
running programs unattended, unless you want the screen to pause
when you're not there. If you press the ESC key when the screen
is paused, the auto-pause feature will be disabled until the next
time you enter a DOS command.
Warp automatically generates a shorter and less annoying beep
than produced by DOS or BIOS. This is done by hooking interrupt
10H and trapping all ASCII code 7's sent to the BIOS TTY func-
tion. Only a few, mostly older, applications will be affected by
this.
Warp's ANSI support is limited to clear screen, move cursor, and
set color. The specific ANSI sequences supported are as follows:
ESC[2J clear screen and home cursor
ESC[K clear from cursor to end of line
ESC[#;#f move cursor
ESC[#;#H move cursor
ESC[#A move cursor up
ESC[#B move cursor down
ESC[#C move cursor right
ESC[#D move cursor left
ESC[s save cursor location
ESC[u restore cursor location
ESC[#;...;#m set colors
All ANSI sequences begin with ESC (ASCII code 27) and '[' (ASCII
code 91). The # in the sequences refer to decimal numbers. The
two numbers in the 'f' and 'H' sequences are the row and column
location. The single number in the 'A' through 'D' sequences are
the number of rows or columns to move. The cursor movement
numbers default to 1 if they are absent. The numbers in the 'm'
sequence affect the screen colors as follows:
0 all attributes off (white on black)
1 bold on
4 underscore (monochrome adapters only)
5 blink on
7 reverse video (black on white)
8 concealed (black on black)
30 black foreground
31 red foreground
32 green foreground
33 yellow foreground (usually mapped to brown)
34 blue foreground
35 magenta foreground
36 cyan foreground
37 white foreground
40 black background
41 red background
42 green background
43 yellow background (usually mapped to brown)
44 blue background
45 magenta background
46 cyan background
47 white background
Warp should work in all text modes. In graphics modes, Warp
passes output to the BIOS. Auto-pause and ANSI support is disa-
bled in graphics modes.
Though the ANSI sequence to clear the screen works in all text
modes when using MS DOS 4.01 on my system, the CLS command
doesn't completely work (it only clears the first 25 lines in the
greater than 25 line modes and does not use the current color).
I think this is because this version of DOS calls the to BIOS to
clear the screen, rather than using the device driver. If you
have this sort of problem, you could clear the screen by display-
ing the clear screen ANSI sequence, for instance by ECHOing
ESC[2J (the ESC must be the actual character with ASCII code 27).
Compatibility considerations:
* Warp never waits for "vertical retrace" when displaying
characters, which may cause snow on CGA monitors.
* WARP.SYS (but not WARPF.SYS) positions the cursor by directly
modifying the video controller ports. This may not work on
nonstandard video systems and could cause problems in some
operating environments.
* The length of the beep may be irregular under multi-tasking
systems, like Windows or Desqview.
* Warp uses the undocumented (but widely recognized) interrupt
29H.
Version changes:
1.00 Original release.
1.01 Traps INT 1B and ignores code 00/00 from INT 16.
1.10 Added /P:n option and cleaned up code.
2.00 Improved ANSI support, improved auto-pause, allow config-
uration after installation, and changed switches. The
auto-pause feature will no longer work with an arbitrary
number of lines.
2.01 Default prompt color is no longer green.
2.02 Command error message and parsing bugs fixed in WARP.SYS
and WARPF.SYS. Beep routines partially rewritten.
2.10 The ESC key temporarily disables the auto-pause and the
special Paradise text modes 54 to 57 (hex) are recog-
nized.
2.11 Fixed the order of the row and column arguments for the H
and f ANSI sequences (they were reversed).
DISCLAIMER OF WARRANTY
THIS SOFTWARE AND MANUAL ARE DISTRIBUTED "AS IS" AND WITHOUT
WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER
WARRANTIES WHETHER EXPRESSED OR IMPLIED. BECAUSE OF THE VARIOUS
HARDWARE AND SOFTWARE ENVIRONMENTS INTO WHICH THIS PROGRAM MAY BE
PUT, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.
GOOD DATA PROCESSING PROCEDURE DICTATES THAT ANY PROGRAM BE
THOROUGHLY TESTED WITH NON-CRITICAL DATA BEFORE RELYING ON IT.
THE USER MUST ASSUME THE ENTIRE RISK OF USING THE PROGRAM. ANY
LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT
REPLACEMENT OR REFUND OF PURCHASE PRICE.